DAY29:Array.diff


Posted by birdbirdmurmur on 2023-08-11

題目連結

https://www.codewars.com/kata/523f5d21c841566fde000009

解法

第一版

function arrayDiff(a, b) {
  let result = []
  for (let i=0; i<a.length; i++){
    let diff = false

    for (let j=0; j<b.length; j++){
      if ( a[i] === b[j] ){
        diff = true
        break
      }
    }
    if (!diff){
      result.push(a[i])
    }
  }
  return result
}

第二版

function arrayDiff(a, b) {
  return a.filter(item => !b.includes(item));
}

筆記

第一版用雙迴圈的方式一一比對
並設一個變數diff來控制true&false
在第二個迴圈中 加入break確保可以先跳出來
a[i]加入到result裡面

第二版
快速的使用filter篩選兩個陣列中不一樣的地方
篩選a陣列 回傳一個箭頭函式
b陣列裡頭找
找不到的才回傳


#javascript #Codewars #filter #includes







Related Posts

CSS Flex & Grid 排版詳解(上):What the Flex?

CSS Flex & Grid 排版詳解(上):What the Flex?

EsLint 我們重頭來過吧

EsLint 我們重頭來過吧

需要時光屋 生出跟工作相同的學習時間

需要時光屋 生出跟工作相同的學習時間


Comments